home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / MenuBar.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  6.9 KB  |  297 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:MenuBar.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODMenuBar_xh
  18. #define SOM_ODMenuBar_xh
  19.  
  20. class ODMenuBar;
  21.  
  22. #define ODMenuBar_MajorVersion 1
  23. #define ODMenuBar_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODBaseMenuBar_xh
  30. #include <MenuBarB.xh>
  31. #endif
  32.  
  33. #ifndef ODMenuBar_API
  34. #define ODMenuBar_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODSession;
  44. class ODPart;
  45.  
  46. /*
  47.  * End of user-defined types.
  48.  */
  49.  
  50. #if applec ^ PRAGMA_LIB_EXPORT
  51. #pragma lib_export on
  52. #endif
  53.  
  54.  
  55. /* A procedure to create the ODMenuBar Class */
  56. SOMEXTERN SOMClass * SOMLINK ODMenuBarNewClass(
  57.         integer4 majorVersion,
  58.         integer4 minorVersion);
  59.  
  60. /* The API to the ODMenuBar class object, and the methods it introduces. */
  61. typedef struct ODMenuBarClassDataStructure {
  62.     SOMClass *classObject;
  63.     somMToken InitMenuBar;
  64.     somMToken AddSubMenu;
  65.     somMToken RegisterCommand;
  66.     somMToken UnregisterCommand;
  67.     somMToken UnregisterAll;
  68.     somMToken IsCommandRegistered;
  69.     somMToken IsCommandSynthetic;
  70.     somMToken GetCommand;
  71.     somMToken GetMenuAndItem;
  72.     somMToken EnableCommand;
  73.     somMToken CheckCommand;
  74.     somMToken EnableAndCheckCommand;
  75.     somMToken SetItemString;
  76.     somMToken GetItemString;
  77. } ODMenuBarClassDataStructure;
  78. #ifdef SOM_NO_DATA_EXPORTS
  79.    SOMEXTERN ODMenuBarClassDataStructure * ODMenuBarGetClassData ( void );
  80. #   undef ODMenuBarClassData
  81. #   define ODMenuBarClassData (*ODMenuBarGetClassData())
  82. #else
  83.    SOMEXTERN ODMenuBarClassDataStructure ODMenuBarClassData;
  84. #endif /* SOM_NO_DATA_EXPORTS */
  85.  
  86. #if applec ^ PRAGMA_LIB_EXPORT
  87. #pragma lib_export off
  88. #endif
  89.  
  90. #define _ODMenuBar ODMenuBarClassData.classObject
  91.  
  92. /* The API to parentMtabs for ODMenuBar, and the instance data it introduces. */
  93. SOMEXTERN struct ODMenuBarCClassDataStructure {
  94.     somMethodTabs parentMtab;
  95.     somDToken instanceDataToken;
  96. } ODMenuBarCClassData;
  97.  
  98. /*
  99.  * -- Typedefs for Procedures that support Methods introduced by ODMenuBar
  100.  */
  101. SOMEXTERN {
  102. typedef void   (* SOMLINK somTD_ODMenuBar_InitMenuBar)(ODMenuBar *somSelf, Environment *ev,
  103.         ODSession* session,
  104.         ODPlatformMenuBar menuBar);
  105. typedef void   (* SOMLINK somTD_ODMenuBar_AddSubMenu)(ODMenuBar *somSelf, Environment *ev,
  106.         ODMenuID menuID,
  107.         ODPlatformMenu menu,
  108.         ODPart* part);
  109. typedef void   (* SOMLINK somTD_ODMenuBar_RegisterCommand)(ODMenuBar *somSelf, Environment *ev,
  110.         ODCommandID command,
  111.         ODMenuID menu,
  112.         ODMenuItemID menuItem);
  113. typedef void   (* SOMLINK somTD_ODMenuBar_UnregisterCommand)(ODMenuBar *somSelf, Environment *ev,
  114.         ODCommandID command);
  115. typedef void   (* SOMLINK somTD_ODMenuBar_UnregisterAll)(ODMenuBar *somSelf, Environment *ev);
  116. typedef ODBoolean   (* SOMLINK somTD_ODMenuBar_IsCommandRegistered)(ODMenuBar *somSelf, Environment *ev,
  117.         ODCommandID command);
  118. typedef ODBoolean   (* SOMLINK somTD_ODMenuBar_IsCommandSynthetic)(ODMenuBar *somSelf, Environment *ev,
  119.         ODCommandID command);
  120. typedef ODCommandID   (* SOMLINK somTD_ODMenuBar_GetCommand)(ODMenuBar *somSelf, Environment *ev,
  121.         ODMenuID menu,
  122.         ODMenuItemID menuItem);
  123. typedef void   (* SOMLINK somTD_ODMenuBar_GetMenuAndItem)(ODMenuBar *somSelf, Environment *ev,
  124.         ODCommandID command,
  125.         ODMenuID* menu,
  126.         ODMenuItemID* menuItem);
  127. typedef void   (* SOMLINK somTD_ODMenuBar_EnableCommand)(ODMenuBar *somSelf, Environment *ev,
  128.         ODCommandID cmdNumber,
  129.         ODBoolean enable);
  130. typedef void   (* SOMLINK somTD_ODMenuBar_CheckCommand)(ODMenuBar *somSelf, Environment *ev,
  131.         ODCommandID cmdNumber,
  132.         ODBoolean check);
  133. typedef void   (* SOMLINK somTD_ODMenuBar_EnableAndCheckCommand)(ODMenuBar *somSelf, Environment *ev,
  134.         ODCommandID cmdNumber,
  135.         ODBoolean enable,
  136.         ODBoolean check);
  137. }
  138.  
  139. #endif /* ODMenuBar_API */
  140.  
  141.  
  142. /*
  143.  * -- Method Tokens are Thunks
  144.  */
  145. #undef somresolve_
  146. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  147.  
  148. /*
  149.  * -- The C++ Wrapper Class for ODMenuBar
  150.  */
  151. class ODMenuBar : public ODBaseMenuBar
  152. {
  153. public:
  154.  
  155. void *operator new(size_t size)
  156. {
  157.    SOM_IgnoreWarning(size);
  158.    if (!ODMenuBarClassData.classObject) 
  159.       ODMenuBarNewClass(ODMenuBar_MajorVersion,ODMenuBar_MinorVersion);
  160.    return (void *)
  161.       ((somTD_SOMClass_somNew)
  162.       somresolve_((SOMObject *)((void*)(ODMenuBarClassData.classObject)),
  163.                  SOMClassClassData.somNew))
  164.          ((SOMClass *)((void*)(ODMenuBarClassData.classObject)));
  165. }
  166.  
  167. void operator delete(void * obj)
  168. {
  169.    ((SOMObject *)obj)->somFree();
  170. }
  171.  
  172. /* public method: InitMenuBar */
  173. void   InitMenuBar(Environment *ev,
  174.         ODSession* session,
  175.         ODPlatformMenuBar menuBar)
  176. {
  177.    SOM_Resolve(this,ODMenuBar,InitMenuBar)
  178.     (this,ev,session,menuBar);
  179. }
  180.  
  181.  
  182. /* public method: AddSubMenu */
  183. void   AddSubMenu(Environment *ev,
  184.         ODMenuID menuID,
  185.         ODPlatformMenu menu,
  186.         ODPart* part)
  187. {
  188.    SOM_Resolve(this,ODMenuBar,AddSubMenu)
  189.     (this,ev,menuID,menu,part);
  190. }
  191.  
  192.  
  193. /* public method: RegisterCommand */
  194. void   RegisterCommand(Environment *ev,
  195.         ODCommandID command,
  196.         ODMenuID menu,
  197.         ODMenuItemID menuItem)
  198. {
  199.    SOM_Resolve(this,ODMenuBar,RegisterCommand)
  200.     (this,ev,command,menu,menuItem);
  201. }
  202.  
  203.  
  204. /* public method: UnregisterCommand */
  205. void   UnregisterCommand(Environment *ev,
  206.         ODCommandID command)
  207. {
  208.    SOM_Resolve(this,ODMenuBar,UnregisterCommand)
  209.     (this,ev,command);
  210. }
  211.  
  212.  
  213. /* public method: UnregisterAll */
  214. void   UnregisterAll(Environment *ev)
  215. {
  216.    SOM_Resolve(this,ODMenuBar,UnregisterAll)
  217.     (this,ev);
  218. }
  219.  
  220.  
  221. /* public method: IsCommandRegistered */
  222. ODBoolean   IsCommandRegistered(Environment *ev,
  223.         ODCommandID command)
  224. {
  225.    return SOM_Resolve(this,ODMenuBar,IsCommandRegistered)
  226.     (this,ev,command);
  227. }
  228.  
  229.  
  230. /* public method: IsCommandSynthetic */
  231. ODBoolean   IsCommandSynthetic(Environment *ev,
  232.         ODCommandID command)
  233. {
  234.    return SOM_Resolve(this,ODMenuBar,IsCommandSynthetic)
  235.     (this,ev,command);
  236. }
  237.  
  238.  
  239. /* public method: GetCommand */
  240. ODCommandID   GetCommand(Environment *ev,
  241.         ODMenuID menu,
  242.         ODMenuItemID menuItem)
  243. {
  244.    return SOM_Resolve(this,ODMenuBar,GetCommand)
  245.     (this,ev,menu,menuItem);
  246. }
  247.  
  248.  
  249. /* public method: GetMenuAndItem */
  250. void   GetMenuAndItem(Environment *ev,
  251.         ODCommandID command,
  252.         ODMenuID* menu,
  253.         ODMenuItemID* menuItem)
  254. {
  255.    SOM_Resolve(this,ODMenuBar,GetMenuAndItem)
  256.     (this,ev,command,menu,menuItem);
  257. }
  258.  
  259.  
  260. /* public method: EnableCommand */
  261. void   EnableCommand(Environment *ev,
  262.         ODCommandID cmdNumber,
  263.         ODBoolean enable)
  264. {
  265.    SOM_Resolve(this,ODMenuBar,EnableCommand)
  266.     (this,ev,cmdNumber,enable);
  267. }
  268.  
  269.  
  270. /* public method: CheckCommand */
  271. void   CheckCommand(Environment *ev,
  272.         ODCommandID cmdNumber,
  273.         ODBoolean check)
  274. {
  275.    SOM_Resolve(this,ODMenuBar,CheckCommand)
  276.     (this,ev,cmdNumber,check);
  277. }
  278.  
  279.  
  280. /* public method: EnableAndCheckCommand */
  281. void   EnableAndCheckCommand(Environment *ev,
  282.         ODCommandID cmdNumber,
  283.         ODBoolean enable,
  284.         ODBoolean check)
  285. {
  286.    SOM_Resolve(this,ODMenuBar,EnableAndCheckCommand)
  287.     (this,ev,cmdNumber,enable,check);
  288. }
  289.  
  290.  
  291.  
  292. };   /* ODMenuBar */
  293.  
  294.  
  295.  
  296. #endif       /* SOM_ODMenuBar_xh */
  297.